﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NUnit.Framework;
using Logica;
using Datos;
using Datos.Entidades;
using Logica.Comandos;
using Datos.Fabricas;
using Logica.FabricaLogica;
using Datos.Entidades.FabricaEntidades;
using Logica.Comandos.ComandoAdministracionMaquina;
using Subgurim.Controles;

namespace Pruebas
{
    [TestFixture]
    public class PruebaMaquina
    {
         [TestCase]
        public void PruebaAgregarMaquina()
        {
            bool respuesta = false;
            double lat, lng;

            lat = 10.463757868363302;
            lng = -66.97772026062011;
            Entidad maquina = FabricaEntidades.ObtenerMaquina();
            (maquina as Maquina).NombreLocal ="Prueba";
            (maquina as Maquina).Ciudad = "prueba";
            (maquina as Maquina).Estado = "prueba";
            (maquina as Maquina).Estatus1 = 1;
            (maquina as Maquina).Calle = "prueba";
            (maquina as Maquina).Altitud = "0";
            (maquina as Maquina).Telefono = "prueba";
            (maquina as Maquina).Latitud = (decimal)lat;
            (maquina as Maquina).Longitud = (decimal)lng;
            (maquina as Maquina).Piso = "prueba@hotmail.com";

            Comando comando = FabricaComandoMaquina.CrearComandoCrearMaquina(maquina);
            comando.Ejecutar();
        
            if (!comando.Flag)
                respuesta = false;
            else

                respuesta = true;
            Assert.AreEqual(respuesta, true);
        }


        [TestCase]
        public void PruebaConsultarMaquina()
        {
            bool respuesta = false;
            List<Entidad> listaMaquinas = new List<Entidad>();
            Comando comando = FabricaComandoMaquina.CrearComandoListarTodasMaquinas();
            comando.Ejecutar();
            listaMaquinas = comando.ListaEntidad;
            if (listaMaquinas != null)
            {

                respuesta = true;

            }
            Assert.AreEqual(respuesta, true);
          
        }

        [TestCase]
        public void PruebaModificarMaquina()
        {
            bool respuesta;
            double lat, lng;

            lat = 10.463757868363302;
            lng = -66.97772026062011;
            Entidad maquina = FabricaEntidades.ObtenerMaquina();
            (maquina as Maquina).NombreLocal = "prueba";
            (maquina as Maquina).Ciudad = "prueba";
            (maquina as Maquina).Estado = "prueba";
            
                (maquina as Maquina).Estatus1 = 0;
       
            (maquina as Maquina).Calle = "prueba";
            (maquina as Maquina).Altitud = "0";
            (maquina as Maquina).Telefono = "prueba";
            (maquina as Maquina).Latitud = (decimal)lat;
            (maquina as Maquina).Longitud = (decimal)lng;
            (maquina as Maquina).Piso = "prueba@hotmail.com";
            (maquina as Maquina).IdMaquina = 8;



            Comando comando = FabricaComandoMaquina.CrearComandoModificarMaquina(maquina);
            comando.Ejecutar();
            if (!comando.Flag)
           
                respuesta= false;
            else

                respuesta= true;
            Assert.AreEqual(respuesta, true);
        }
    }

    
}
